From aa464f07de73523b957eeb056940bd2b4d50118a Mon Sep 17 00:00:00 2001 From: "awilliam@xenbuild2.aw" Date: Thu, 7 Dec 2006 16:18:55 -0700 Subject: [PATCH] [IA64] workaround NaT consumption fault when hiding a PCI function from dom0 The free_irq() path seems to have trouble with devices hidden from dom0 for driver domains. The result is a NaT consumption fault in the reboot notifier_call_chain() when dom0 reboots. This workaround prevents the problem until it can be further investigated. Signed-off-by: Alex Williamson --- xen/arch/ia64/xen/hypercall.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/xen/arch/ia64/xen/hypercall.c b/xen/arch/ia64/xen/hypercall.c index 15e9f5b26b..69be18efcd 100644 --- a/xen/arch/ia64/xen/hypercall.c +++ b/xen/arch/ia64/xen/hypercall.c @@ -472,7 +472,12 @@ static long do_physdev_op(int cmd, XEN_GUEST_HANDLE(void) arg) vector > IA64_LAST_DEVICE_VECTOR) break; - free_irq_vector(vector); + /* XXX This should be called, but causes a NAT consumption via the + * reboot notifier_call_chain in dom0 if a device is hidden for + * a driver domain using pciback.hide= (specifically, hiding function + * 1 of a 2 port e1000 card). + * free_irq_vector(vector); + */ ret = 0; break; } -- 2.30.2